package com.wh1200.mybatis.xmlless.annotations

import kotlin.reflect.KClass

/**
 * 用在持久化类的属性上，表示持久化类的属性是一个关联属性
 */
@Target(
    allowedTargets = [
      AnnotationTarget.FIELD,
    ]
)
@Repeatable
annotation class FeignProperty(
    /** 要连接的表对应的实体类 */
    val targetEntity: KClass<*>,
    /** 要连接的表对应的实体类用于连接条件的属性名称, 默认为主键 */
    val joinOnTargetProperty: String = "",
    /** 要连接的当前对象的字段或表达式，默认为当前注解的字段 */
    val joinOnThisProperty: String = "",
    /** 关联表的别名 */
    val alias: String
)
